package com.hsxc.cdz.base.dao;

import java.util.List;

import org.apache.log4j.Logger;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.hsxc.cdz.base.bean.MyUser;


@Repository
public class MyUserDao{
	
	protected static Logger logger = Logger.getLogger("dao");
	//自动注入SqlSessionTemplate类的实例
	@Autowired  
	private SqlSessionTemplate sqlSessionTemplate;
	
	/**
	 * 根据用户的部分信息查询单个用户的全部信息
	 * @param myUser 用户的部分信息
	 * @return 单个用户的全部信息,为null时未找到该用户
	 */
	public MyUser selectUser(MyUser myUser){
		return sqlSessionTemplate.selectOne("select", myUser);
	}
	
	/**
	 * 根据用户的部分信息查询满足条件的多个用户的全部信息
	 * @param myUser 用户的部分信息
	 * @return 多个用户的全部信息，为null时未找到对应的用户信息
	 */
	public List<MyUser> selectUsers(MyUser myUser){
		return sqlSessionTemplate.selectList("select", myUser);
	}
	
	/**
	 * 插入单个用户
	 * @param user  单个用户的信息
	 * @return 插入影响行数
	 */
	public int insertUser(MyUser user){
		return sqlSessionTemplate.insert("insertUser",user);
	}
	
	/**
	 * 删除用户
	 * @param user 用户的信息
	 * @return 影响行数 
	 */
	public int deleteUser(MyUser user){
		return sqlSessionTemplate.delete("deleteUser",user);
	}
	
	/**
	 * 更新用户
	 * @param user 用户新信息
	 * @return 影响行数
	 */
	public int updateUser(MyUser user){
		return sqlSessionTemplate.update("updateUser",user);
	}
	/**
	 * 根据手机号更改密码
	 */
	public int updateUserByTel(MyUser user){
		return sqlSessionTemplate.update("updateUserByTel",user);
	}

	public int updatePointminus(MyUser myUser){
		return sqlSessionTemplate.update("updatePointminus",myUser);
	}
}
